package com.seeyon.apps.ebs.rc.dao;

import com.alibaba.fastjson.JSONObject;
import com.seeyon.ctp.organization.po.OrgMember;

import java.util.List;
import java.util.Map;

public interface RcDao {

    /**
    * 功能:查询部门下，当天人员状态数量
    * @Date: 2025/4/25
    */
    public List<Map<String,Object>> getAllPeopleEbsRc(JSONObject param);

    /**
    * 功能:根据名字模糊查询人员
    * @Date: 2025/2/11
    */
    public List<Map<String,Object>> getAllPeopleByName(Map<String,Object> param);

    /**
    * 功能:获取单位下所有部门（默认所有部门均为一级部门）
    * @Date: 2025/2/11
    */
    public List<Map<String,Object>> getAllDepartmentByAccountId(Map<String,Object> param);

    /**
    * 功能:获取部门下所有人员
    * @Date: 2025/2/11
    */
    public List<OrgMember> getAllMemberByDepId(Long depId)throws Exception;

    /**
    * 功能:根据编号查询动迁流程表
    * @Date: 2025/1/24
    */
    public List<Map<String, Object>> getAllScheduleByNumber(Map<String,Object> param);

    /**
    * 功能:查询日程档案中编号不为空，且发起时间为空的档案数据
    * @Date: 2025/1/24
    */
    public List<Map<String, Object>> getAllSchedule(Map<String,Object> param);

    /**
    * 功能:获取当前系统所有人员信息
    * @Date: 2025/1/23
    */
    public List<OrgMember> getAllMember() throws Exception;

    /**
    * 功能:根据人员名称、日期查询动迁档案
    * @Date: 2025/1/23
    */
    List<Map<String, Object>> getAPeopleAllDepIdsByNameAndDate(Map<String,Object> param);

    /**
    * 功能:查询人员的主管部门以及分管部门
    * @Date: 2025/1/23
    */
    List<Map<String, Object>> getAPeopleAllDepIds(Long emmberId);

    /**
     * 功能:查询全部所需人员
     * @Date: 2025/2/19
     */
    List<Map<String,Object>> getRealMembers();
    /**
     * 功能:查询所需部门信息
     * @Date: 2025/2/19
     */
    Map<String,Object> getNeedDeptById(Long deptId);
    /**
     * 功能:查询全部所需部门信息
     * @Date: 2025/2/19
     */
    List<Map<String,Object>> getAllNeedDept();
    /**
     * 功能:查询全部所需部门信息
     * @Date: 2025/2/19
     */
    List<Map<String,Object>> getRealDeptMembers(Long deptId);
}
